An extract, transform, and load software application (ETL) enables companies to move data from one or more data resources, reformat the data, clean it up, and load it into another resource (e.g., one or more databases, such as a data mart or a data warehouse). Typically an ETL application is useful where a company has data about a subject that is being used by different software applications or on different systems and the data is in multiple formats or where data is being migrated from one software application to another and the data structures are different.
For instance, a customer service system may store a customer's data in one way, while an accounting system may store data about the same customer differently. For example, the category “female” might be represented in three different systems as F, female, and 0. An ETL application can recognize that these entries mean the same thing and convert them to a target format which may be one of those three formats or may be something different.
However, conversion errors may occur wherein the data when used provides erroneous results, for example. Due to the large amount of data typically converted in ETL processes; the management of the data is often complex and such errors may be difficult to identify.